package com.springboot.demo.config.demo1;

import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

/**
 * Create By Alvin on 2018/9/6
 * 对@Configuration注解进行理解
 **/
@Configuration
@ComponentScan(basePackages = { "com.springboot.demo.config.demo1" })
public class configdemo1 {

    /**
     * 使用bean这个注解来初始化对象 因为 User中需要注入对象 但是 springboot启动是先扫描@Configuration注解的
     * 所以会存在User中根据类型注入的时候没有对象的实例 所以无法注入到其中  所以需要先扫描所有对象然后再来生成
     * @Bean注解和@Autowired构造函数注入是一样的  只要参数的类型存在实例化对象  那么久可以直接注入
     */
    @Bean
    public User getUser()
    {
        return new User();
    }
}
